Ext.ns('ru.proburo.oms.components');
/**
 * ru.proburo.oms.components.AbstractTree
 * @extends Ext.tree.TreePanel
 */
ru.proburo.oms.components.AbstractTree = Ext.extend(Ext.tree.TreePanel, {
    
	/**
     * Constructor
     */
    constructor: function(config)
	{
		config = config || {};
		
        Ext.applyIf(config, {
            autoScroll: 	 true,
            containerScroll: true,
            rootVisible: 	 false,
			
            root: 	this.initRoot(),
            loader: this.initLoader()
        });
        
        ru.proburo.oms.components.AbstractTree.superclass.constructor.call(this, config);
    },
	
    // abstract
	initLoader: function()
    {
        throw new Error('Abstract method called.');
    },
    
	// abstract
	initRoot: function()
    {
        throw new Error('Abstract method called.');
    }
	
});